#include "Card.h"
#include "Command.h"
#include <list>
using namespace std;

class Player {
        protected:
        int pNum;
        int pScore;

        public:

        list<Card> cArray;
        list<Card> cDiscard;
        
        int getPNum(){
                return pNum;
        }
        int getPScore(){
                return pScore;
        }
        void setPNum(int num){
                pNum = num;
        }
        void setPScore(int num){
                pScore = num;
        }
        virtual Command playerturn(list<Card> playedClubs, list<Card> playedDiamonds, list<Card> playedHearts, list<Card> playedSpades, list<Card> legalmoves, Card allCards[]) = 0;
};

class hPlayer : public Player {
        
        public:
              Command playerturn(list<Card> playedClubs, list<Card> playedDiamonds, list<Card> playedHearts, list<Card> playedSpades, list<Card> legalmoves, Card allCards[]);
};

class cPlayer : public Player {

        public:
                /*
                cPlayer(int i, int j, list<Card> cA, list<Card> cD){
                        pNum = i;
                        pScore = j;
                        cArray = cA;
                        cDiscard = cD;
                }
                */
                
                Command playerturn(list<Card> playedClubs, list<Card> playedDiamonds, list<Card> playedHearts, list<Card> playedSpades, list<Card> legalmoves, Card allCards[]);
};
